package com.hzlx.items.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 检验项目明细（定义每个检验标准的具体检查项）对象 mes_quality_inspection_items
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public class QualityInspectionItems extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 检验项目唯一标识符 */
    private String itemId;

    /** 关联的检验标准ID */
    @Excel(name = "关联的检验标准ID")
    private String standardId;

    /** 检验项目名称 */
    @Excel(name = "检验项目名称")
    private String itemName;

    /** 检验方法（如：目视/卡尺测量/测厚仪） */
    @Excel(name = "检验方法", readConverterExp = "如=：目视/卡尺测量/测厚仪")
    private String inspectionMethod;

    /** 项目类型（数值型/文本型/布尔型/视觉型） */
    @Excel(name = "项目类型", readConverterExp = "数=值型/文本型/布尔型/视觉型")
    private String itemType;

    /** 下限值（数值型项目） */
    @Excel(name = "下限值", readConverterExp = "数=值型项目")
    private BigDecimal minLimit;

    /** 上限值（数值型项目） */
    @Excel(name = "上限值", readConverterExp = "数=值型项目")
    private BigDecimal maxLimit;

    /** 标准值（文本描述或布尔值） */
    @Excel(name = "标准值", readConverterExp = "文=本描述或布尔值")
    private String standardValue;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setItemId(String itemId) 
    {
        this.itemId = itemId;
    }

    public String getItemId() 
    {
        return itemId;
    }

    public void setStandardId(String standardId) 
    {
        this.standardId = standardId;
    }

    public String getStandardId() 
    {
        return standardId;
    }

    public void setItemName(String itemName) 
    {
        this.itemName = itemName;
    }

    public String getItemName() 
    {
        return itemName;
    }

    public void setInspectionMethod(String inspectionMethod) 
    {
        this.inspectionMethod = inspectionMethod;
    }

    public String getInspectionMethod() 
    {
        return inspectionMethod;
    }

    public void setItemType(String itemType) 
    {
        this.itemType = itemType;
    }

    public String getItemType() 
    {
        return itemType;
    }

    public void setMinLimit(BigDecimal minLimit) 
    {
        this.minLimit = minLimit;
    }

    public BigDecimal getMinLimit() 
    {
        return minLimit;
    }

    public void setMaxLimit(BigDecimal maxLimit) 
    {
        this.maxLimit = maxLimit;
    }

    public BigDecimal getMaxLimit() 
    {
        return maxLimit;
    }

    public void setStandardValue(String standardValue) 
    {
        this.standardValue = standardValue;
    }

    public String getStandardValue() 
    {
        return standardValue;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("itemId", getItemId())
            .append("standardId", getStandardId())
            .append("itemName", getItemName())
            .append("inspectionMethod", getInspectionMethod())
            .append("itemType", getItemType())
            .append("minLimit", getMinLimit())
            .append("maxLimit", getMaxLimit())
            .append("standardValue", getStandardValue())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
